<?php

require_once BASE_PATH.'application/models/basedao'.EXT;

class usuariosDAO extends baseDAO {
	
	var $table = 'embarazada';
	var $key   = 'id_embarazada';
	var $sql   = '';

	function __construct()
	{
	    parent::__construct();
	}
	function _defaultSQL()
	{
		$this->db->select('id_embarazada,nombre,username, apellido, correo, fecha_nacimiento,password,fecha_ingreso,movil');
	}
	function isValid($usuario,$password){
        $this->_defaultSQL();
		$this->db->where(array("username ="=>$usuario,"password ="=>$password));
		$this->db->limit(1);
		$query = $this->db->get($this->table);
		return $query->result_array();
    }
	function getDatos($id_embarazada){
        $this->_defaultSQL();
		$this->db->where(array("id_embarazada ="=>$id_embarazada));
		$this->db->limit(1);
		$query = $this->db->get($this->table);
		return $query->result_array();
    }
	function get_datosEditables($id_embarazada){
        $this->db->select('nombre, username, apellido, correo, fecha_nacimiento,password,movil');
		$this->db->where('id_embarazada', $id_embarazada);
		$this->db->limit(1);
		$query = $this->db->get($this->table);
		return $query->result_array();
    }
	function create($data) {
		$result = $this->db->insert($this->table, $data);
		if($result) {
			$result = $this->db->insert_id();
		}
		return $result;
	}
	function update($id_embarazada, $data) {
		$this->db->where('id_embarazada', $id_embarazada);
		$result = $this->db->update($this->table, $data);
		return $result;
	}
	function getFechaNacimiento($id_embarazada){
		$this->db->select('fecha_nacimiento');
		$this->db->where(array("id_embarazada ="=>$id_embarazada));
		$this->db->limit(1);
		$query = $this->db->get($this->table);
		$result = array();
		if ($query->num_rows() > 0) {
			$row = $query->first_row('array');
			$result = $row['fecha_nacimiento'];
		}
		return $result;
	}
	function setHash($correo_para_hash,$hash){
		$data = array(
				'hash' => $hash
			);
		$this->_defaultSQL();
		$this->db->where(array("correo ="=>$correo_para_hash));
		$this->db->update($this->table, $data);
		if ($this->db->affected_rows() > 0) {
			return 1;
		}else{
			return 0;
		}
	}
	function setPassword($correo ,$hash, $nuevopassword){
		$data = array(
				'password' => $nuevopassword
			);
		$this->_defaultSQL();
		$this->db->where(array("correo ="=>$correo,"hash =" => $hash));
		$this->db->update($this->table, $data);
		if ($this->db->affected_rows() > 0) {
			if($this->clearHash($correo)){
				return 1;
			}else{
				return 0;
			}
		}else{
			return 0;
		}
	}
	function clearHash($correo){
		$data = array(
				'hash' => ''
			);
		$this->_defaultSQL();
		$this->db->where(array("correo ="=>$correo));
		$this->db->update($this->table, $data);
		if ($this->db->affected_rows() > 0) {
			return 1;
		}else{
			return 0;
		}
	}
}

?>